]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
screenshot: Use MetaCursorTracker to fetch the cursor position
authorJasper St. Pierre <jstpierre@mecheye.net>
Wed, 11 Feb 2015 08:58:42 +0000 (00:58 -0800)
committerJasper St. Pierre <jstpierre@mecheye.net>
Wed, 11 Feb 2015 09:00:11 +0000 (01:00 -0800)
ClutterInputDevice will use the last place it knows the cursor to be,
which isn't always up to date when running under X11.

src/shell-screenshot.c

index 1ab146bad1c48457f26818f5a1dd9753750d3fb9..076ea3f0739caef0668f35bc904e1203e443a2b1 100644 (file)
@@ -249,22 +249,6 @@ do_grab_screenshot (ShellScreenshot *screenshot,
   cogl_object_unref (bitmap);
 }
 
-static void
-get_pointer_coords (int *x,
-                    int *y)
-{
-  ClutterDeviceManager *manager;
-  ClutterInputDevice *device;
-  ClutterPoint point;
-
-  manager = clutter_device_manager_get_default ();
-  device = clutter_device_manager_get_device (manager, META_VIRTUAL_CORE_POINTER_ID);
-
-  clutter_input_device_get_coords (device, NULL, &point);
-  *x = point.x;
-  *y = point.y;
-}
-
 static void
 _draw_cursor_image (MetaCursorTracker     *tracker,
                     cairo_surface_t       *surface,
@@ -281,7 +265,7 @@ _draw_cursor_image (MetaCursorTracker     *tracker,
   int xhot, yhot;
 
   screenshot_region = cairo_region_create_rectangle (&area);
-  get_pointer_coords (&x, &y);
+  meta_cursor_tracker_get_pointer (tracker, &x, &y, NULL);
 
   if (!cairo_region_contains_point (screenshot_region, x, y))
     {